package com.dks.mapper;

import java.util.*;

import com.dks.dto.StudentClassDto;
import com.dks.dto.TeacherCourseDto;
import com.dks.dto.TeacherInfoDto;
import com.dks.models.Teacher;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface TeacherMapper{

    Integer insert(Teacher teacher);

    Integer update(Teacher teacher);

    Integer delete(@Param("id") Integer id);

    Teacher select(@Param("id") Integer id);

    TeacherInfoDto selectTeacherInfo(Map<String, Object> map);

    Integer cntByMap(Map<String, Object> map);

    List<Integer> getByMap(Map<String, Object> map);

    List<Teacher> getByMapList(Map<String, Object> map);

    List<TeacherCourseDto> getTeacherCourseDtoList(Map<String, Object> map);

    List<StudentClassDto> getStudentClassDtoList(Map<String, Object> map);

    Integer updateByCode(Teacher teacher);

    Teacher selectByBfCode(@Param("bfCode") String bfCode);

    List<Teacher> getCourseTeacherList(Map<String, Object> map);

    List<Teacher> getCourseCategoryTeacherList(Map<String, Object> map);
}
